Package MDSplus :: Module compound
[frames] | no frames]

Source Code for Module MDSplus.compound

1 # 2 # Copyright (c) 2017, Massachusetts Institute of Technology All rights reserved. 3 # 4 # Redistribution and use in source and binary forms, with or without 5 # modification, are permitted provided that the following conditions are met: 6 # 7 # Redistributions of source code must retain the above copyright notice, this 8 # list of conditions and the following disclaimer. 9 # 10 # Redistributions in binary form must reproduce the above copyright notice, this 11 # list of conditions and the following disclaimer in the documentation and/or 12 # other materials provided with the distribution. 13 # 14 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 18 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 # 25 26 -def _mimport(name, level=1):
27 try: 28 return __import__(name, globals(), level=level) 29 except: 30 return __import__(name, globals())
31 32 import ctypes as _C 33 import numpy as _N 34 35 _ver=_mimport('version') 36 _dsc=_mimport('descriptor') 37 _dat=_mimport('mdsdata') 38 _tre=_mimport('tree') 39 _exc=_mimport('mdsExceptions')
40 41 -class Compound(_dat.Data):
42
43 - def __init__(self,*args, **kwargs):
44 """MDSplus compound data.""" 45 if len(args)==1 and args[0] is self: return 46 if self.__class__ is Compound: 47 raise TypeError("Cannot create instances of class Compound") 48 self._fields={} 49 for idx in range(len(self.fields)): 50 self._fields[self.fields[idx]]=idx 51 self._argOffset=len(self.fields) 52 self.setDescs(args) 53 for k,v in kwargs: 54 if k in self.fields: 55 self.setDescAt(self._fields[k],v)
56
57 - def _str_bad_ref(self):
58 return '%s(%s)'%(self.__class__.__name__,','.join([str(d) for d in self.getDescs()]))
59 60 @property
61 - def deref(self):
62 for i in range(self.getNumDescs()): 63 ans = self.getDescAt(i) 64 if isinstance(ans,(_dat.Data,_tre.TreeNode)): 65 self.setDescAt(i,ans.deref) 66 return self
67 68 @property
69 - def tree(self):
70 for arg in self._args: 71 if isinstance(arg,_dat.Data): 72 tree=arg.tree 73 if tree is not None: 74 return tree 75 return None
76 @tree.setter
77 - def tree(self,tree):
78 for arg in self._args: 79 if isinstance(arg,_dat.Data): 80 arg._setTree(tree)
81
82 - def __hasBadTreeReferences__(self,tree):
83 for arg in self._args: 84 if isinstance(arg,_dat.Data) and arg.__hasBadTreeReferences__(tree): 85 return True 86 return False
87
88 - def __fixTreeReferences__(self,tree):
89 for idx in range(len(self._args)): 90 arg=self._args[idx] 91 if isinstance(arg,_dat.Data) and arg.__hasBadTreeReferences__(tree): 92 self._args[idx]=arg.__fixTreeReferences__(tree) 93 return self
94
95 - def __getattr__(self,name):
96 if name == '_fields': 97 return {} 98 if name in self._fields: 99 return self.getDescAt(self._fields[name]) 100 elif name.startswith('get') and name[3:].lower() in self._fields: 101 def getter(): 102 return self._args[self._fields[name[3:].lower()]]
103 return getter 104 elif name.startswith('set') and name[3:].lower() in self._fields: 105 def setter(value): 106 self.__setattr__(name[3:].lower(),value)
107 return setter 108 return super(Compound,self).__getattribute__(name) 109 #raise AttributeError("No such attribute '%s' in %s"%(name,self.__class__.__name__)) 110
111 - def __getitem__(self,idx):
112 return self.getDescAt(idx)
113
114 - def __setattr__(self,name,value):
115 if name in self._fields: 116 self.setDescAt(self._fields[name],value) 117 else: 118 super(Compound,self).__setattr__(name,value)
119
120 - def __setitem__(self,idx,value):
121 return self.setDescAt(idx,value)
122
123 - def getArgumentAt(self,idx):
124 """Return argument at index idx (indexes start at 0) 125 @rtype: Data,None 126 """ 127 return self.getDescAt(self._argOffset+idx)
128
129 - def getArguments(self):
130 """Return arguments 131 @rtype: Data,None 132 """ 133 return self.getDescAt(slice(self._argOffset,None))
134
135 - def getDescAt(self,idx):
136 """Return descriptor with index idx (first descriptor is 0) 137 @rtype: Data 138 """ 139 if isinstance(idx, (slice,)): 140 return tuple(self._args[idx]) 141 if idx<len(self._args) or idx>255: 142 return self._args[idx] 143 return None
144
145 - def getDescs(self):
146 """Return descriptors or None if no descriptors 147 @rtype: tuple,None 148 """ 149 return tuple(self._args)
150
151 - def getNumDescs(self):
152 """Return number of descriptors 153 @rtype: int 154 """ 155 return len(self._args)
156
157 - def setArgumentAt(self,idx,value):
158 """Set argument at index idx (indexes start at 0)""" 159 return self.setDescAt(self._argOffset+idx, value)
160
161 - def setArguments(self,args):
162 """Set arguments 163 @type args: tuple 164 """ 165 self._args = self._args[:self._argOffset+len(args)] 166 return self.setDescAt(slice(self._argOffset,None),args)
167
168 - def setDescAt(self,idx,value):
169 """Set descriptor at index idx (indexes start at 0)""" 170 if isinstance(idx,slice): 171 indices=idx.indices(idx.start+len(value)) 172 idx = 0 173 for i in range(indices[0],indices[1],indices[2]): 174 self.setDescAt(i,value[idx]) 175 idx += 1 176 else: 177 if value is None: 178 if len(self._args) > idx: 179 self._args[idx] = None 180 else: 181 if len(self._args) <= idx: 182 self._args+=[None]*(idx-len(self._args)+1) 183 self._args[idx]=_dat.Data(value) 184 return self
185
186 - def setDescs(self,args):
187 """Set descriptors 188 @type args: tuple 189 """ 190 self._args = [_dat.Data(arg) for arg in args] 191 while self.getNumDescs()<self._argOffset: 192 self._args.append(None)
193 194 @staticmethod
195 - def _descriptorWithProps(value,dsc):
196 dsc.original=value 197 if value._units is not None: 198 dunits=WithUnits(None,value._units).descriptor 199 dunits.dscptrs[0]=dsc.ptr_ 200 dunits.array[0] =dsc 201 dunits.tree=value.tree 202 dsc = dunits 203 if value._error is not None: 204 derror=WithError(None,value._error).descriptor 205 derror.dscptrs[0]=dsc.ptr_ 206 derror.array[0] =dsc 207 derror.tree=value.tree 208 dsc = derror 209 if value._help is not None or value._validation is not None: 210 dparam=Parameter(None,value._help,value._validation).descriptor 211 dparam.dscptrs[0]=dsc.ptr_ 212 dparam.array[0] =dsc 213 dparam.tree=value.tree 214 dsc = dparam 215 return dsc
216 217 @property
218 - def _descriptor(self):
219 d=_dsc.Descriptor_r() 220 if hasattr(self,'opcode'): 221 d.length = 2 222 d.pointer= _C.cast(_C.pointer(_C.c_uint16(self.opcode)),_C.c_void_p) 223 d.dtype = self.dtype_id 224 d.ndesc = self.getNumDescs() 225 # to store the refs of the descriptors to prever premature gc 226 d.array = [None]*d.ndesc 227 for idx in _ver.xrange(d.ndesc): 228 d.array[idx] = _dat.Data(self.getDescAt(idx)) 229 d.dscptrs[idx] = _dat.Data.pointer(d.array[idx]) 230 return self._descriptorWithProps(self,d)
231 232 @classmethod
233 - def fromDescriptor(cls,d):
234 args = [_dsc.pointerToObject(d.dscptrs[i],d.tree) for i in _ver.xrange(d.ndesc)] 235 ans=cls(*args) 236 if d.length>0: 237 if d.length == 1: 238 opcptr=_C.cast(d.pointer,_C.POINTER(_C.c_uint8)) 239 elif d.length == 2: 240 opcptr=_C.cast(d.pointer,_C.POINTER(_C.c_uint16)) 241 else: 242 opcptr=_C.cast(d.pointer,_C.POINTER(_C.c_uint32)) 243 ans.opcode = opcptr.contents.value 244 return ans._setTree(d.tree)
245
246 -class Action(Compound):
247 """ 248 An Action is used for describing an operation to be performed by an 249 MDSplus action server. Actions are typically dispatched using the 250 mdstcl DISPATCH command 251 """ 252 fields=('dispatch','task','errorLog','completionMessage','performance') 253 dtype_id=202
254 _dsc.addDtypeToClass(Action)
255 256 -class Call(Compound):
257 """ 258 A Call is used to call routines in shared libraries. 259 """ 260 fields=('image','routine') 261 dtype_id=212
262 - def setRType(self,data):
263 if isinstance(data,_dat.Data) or (isinstance(data,type) and issubclass(data,_dat.Data)): 264 self.opcode=data.dtype_id 265 else: 266 self.opcode = int(data) 267 return self
268 _dsc.addDtypeToClass(Call)
269 270 -class Conglom(Compound):
271 """A Conglom is used at the head of an MDSplus conglomerate. A conglomerate is a set of tree nodes used 272 to define a device such as a piece of data acquisition hardware. A conglomerate is associated with some 273 external code providing various methods which can be performed on the device. The Conglom class contains 274 information used for locating the external code. 275 """ 276 fields=('image','model','name','qualifiers') 277 dtype_id=200
278 - def getDevice(self,*args,**kwargs):
279 if not self.image=='__python__': 280 raise _exc.DevNOT_A_PYDEVICE 281 model = str(self.model) 282 safe_env = {} 283 qualifiers = self.qualifiers.data() 284 if isinstance(qualifiers,_N.generic): qualifiers = qualifiers.tolist() 285 if isinstance(qualifiers,list): qualifiers = ';'.join(qualifiers) # make it a list of statements 286 if isinstance(qualifiers,_ver.basestring): 287 try: exec(compile(qualifiers,'<string>','exec'),{'Device':_tre.Device},safe_env) 288 except: pass 289 if model in safe_env: 290 cls = safe_env[model] 291 else: 292 cls = _tre.Device.PyDevice(model) 293 if issubclass(cls,(_tre.Device,)): 294 return cls if len(args)+len(kwargs)==0 else cls(*args,**kwargs) 295 raise _exc.DevPYDEVICE_NOT_FOUND
296 _dsc.addDtypeToClass(Conglom)
297 298 -class Dependency(Compound):
299 """A Dependency object is used to describe action dependencies. This is a legacy class and may not be recognized by 300 some dispatching systems 301 """ 302 fields=('arg1','arg2') 303 dtype_id=208
304 _dsc.addDtypeToClass(Dependency)
305 306 -class Dimension(Compound):
307 """A dimension object is used to describe a signal dimension, typically a time axis. It provides a compact description 308 of the timing information of measurements recorded by devices such as transient recorders. It associates a Window 309 object with an axis. The axis is generally a range with possibly no start or end but simply a delta. The Window 310 object is then used to bracket the axis to resolve the appropriate timestamps. 311 """ 312 fields=('window','axis') 313 dtype_id=196
314 _dsc.addDtypeToClass(Dimension)
315 316 -class Dispatch(Compound):
317 """A Dispatch object is used to describe when an where an action should be dispatched to an MDSplus action server. 318 """ 319 fields=('ident','phase','when','completion') 320 dtype_id=203 321
322 - def __init__(self,*args,**kwargs):
323 if len(args)==1 and args[0] is self: return 324 if 'type' in kwargs: 325 self.opcode=kwargs['type'] 326 else: 327 self.opcode=2 328 super(Dispatch,self).__init__(*args,**kwargs)
329 _dsc.addDtypeToClass(Dispatch)
330 331 -class Function(Compound):
332 """A Function object is used to reference builtin MDSplus functions. For example the expression 1+2 333 is represented in as Function instance created by Function(opcode='ADD',args=(1,2)) 334 """ 335 fields=tuple() 336 dtype_id=199 337 opcodeToClass={} 338 339 @classmethod
340 - def fromDescriptor(cls,d):
341 opc = _C.cast(d.pointer,_C.POINTER(_C.c_uint16)).contents.value 342 args = [_dsc.pointerToObject(d.dscptrs[i],d.tree) for i in _ver.xrange(d.ndesc)] 343 return cls.opcodeToClass[opc](*args)
344
345 - def __init__(self,*args):
346 """Create a compiled MDSplus function reference. 347 Number of arguments allowed depends on the opcode supplied. 348 """ 349 if len(args)==1 and args[0] is self: return 350 if len(args)>self.max_args or (self.max_args>0 and len(args)<self.min_args): 351 if self.max_args==0 or self.max_args==self.min_args: 352 raise TypeError("Requires %d input arguments for %s but %d given"%(self.max_args,self.__class__.__name__,len(args))) 353 else: 354 raise TypeError("Requires %d to %d input arguments for %s but %d given"%(self.min_args,self.max_args,self.__class__.__name__,len(args))) 355 super(Function,self).__init__(*args)
356 @classmethod
357 - def name(cls):
358 if cls.__name__.startswith('d'): 359 return '$%s'%cls.__name__[1:] 360 return cls.__name__
361 _dsc.addDtypeToClass(Function)
362 363 -class Method(Compound):
364 """A Method object is used to describe an operation to be performed on an MDSplus conglomerate/device 365 """ 366 fields=('timeout','method','object') 367 dtype_id=207
368 _dsc.addDtypeToClass(Method)
369 370 -class Procedure(Compound):
371 """A Procedure is a deprecated object 372 """ 373 fields=('timeout','language','procedure') 374 dtype_id=206
375 _dsc.addDtypeToClass(Procedure)
376 377 -class Program(Compound):
378 """A Program is a deprecated object""" 379 fields=('timeout','program') 380 dtype_id=204
381 _dsc.addDtypeToClass(Program)
382 383 -class Range(Compound):
384 """A Range describes a ramp. When used as an axis in a Dimension object along with a Window object it can be 385 used to describe a clock. In this context it is possible to have missing begin and ending values or even have the 386 begin, ending, and delta fields specified as arrays to indicate a multi-speed clock. 387 """ 388 fields=('begin','ending','delta') 389 dtype_id=201 390 @property
391 - def slice(self):
392 return slice(self.begin.data(),self.ending.data(),self.delta.data())
393 _dsc.addDtypeToClass(Range)
394 395 -class Routine(Compound):
396 """A Routine is a deprecated object""" 397 fields=('timeout','image','routine') 398 dtype_id=205
399 _dsc.addDtypeToClass(Routine)
400 401 -class Signal(Compound):
402 """A Signal is used to describe a measurement, usually time dependent, and associated the data with its independent 403 axis (Dimensions). When Signals are indexed using s[idx], the index is resolved using the dimension of the signal 404 """ 405 fields=('value','raw') 406 dtype_id=195 407 408 @property
409 - def dims(self):
410 """The dimensions of the signal""" 411 return self.getArguments()
412
413 - def dim_of(self,idx=0):
414 """Return the signals dimension 415 @rtype: Data 416 """ 417 return self.getDimensionAt(idx)
418
419 - def __getitem__(self,idx):
420 """Subscripting <==> signal[subscript]. Uses the dimension information for subscripting 421 @param idx: index or Range used for subscripting the signal based on the signals dimensions 422 @type idx: Data 423 @rtype: Signal 424 """ 425 if isinstance(idx,slice): 426 idx = Range(idx.start,idx.stop,idx.step) 427 return _dat.Data.execute('$[$]',self,idx)
428
429 - def getDimensionAt(self,idx=0):
430 """Return the dimension of the signal 431 @param idx: The index of the desired dimension. Indexes start at 0. 0=default 432 @type idx: int 433 @rtype: Data 434 """ 435 return self.getArgumentAt(idx)
436
437 - def getDimensions(self):
438 """Return all the dimensions of the signal 439 @rtype: tuple 440 """ 441 return self.getArguments()
442
443 - def setDimensionAt(self,idx,value):
444 """Set the dimension 445 @param idx: The index into the dimensions of the signal. 446 @rtype: None 447 """ 448 return self.setArgumentAt(idx,value)
449
450 - def setDimensions(self,value):
451 """Set all the dimensions of a signal 452 @param value: The dimensions 453 @type value: tuple 454 @rtype: None 455 """ 456 return self.setArguments(value)
457 _dsc.addDtypeToClass(Signal)
458 459 -class Window(Compound):
460 """A Window object can be used to construct a Dimension object. It brackets the axis information stored in the 461 Dimension to construct the independent axis of a signal. 462 """ 463 fields=('startIdx','endIdx','timeAt0') 464 dtype_id=197
465 _dsc.addDtypeToClass(Window)
466 467 -class Opaque(Compound):
468 """An Opaque object containing a binary uint8 array and a string identifying the type. 469 """ 470 fields=('value','otype') 471 dtype_id=217 472 473 474 @property
475 - def value(self):
476 "Data portion of Opaque object" 477 return self.getDescAt(0)
478 @value.setter
479 - def value(self,value):
480 self.setDescAt(0,value)
481 482 @property
483 - def image(self):
484 "Return image from contents of data portion" 485 return self.getImage()
486
487 - def getImage(self):
488 try: from PIL import Image 489 except: import Image 490 if _ver.ispy3: 491 from io import BytesIO as io 492 else: 493 from StringIO import StringIO as io 494 return Image.open(io(self.value.data().tostring()))
495 496 @classmethod
497 - def fromFile(cls,filename,typestring=None):
498 """Read a file and return an Opaque object 499 @param filename: Name of file to read in 500 @type filename: str 501 @param typestring: String to denote the type of file being stored. Defaults to file type. 502 @type typestring: str 503 @rtype: Opaque instance 504 """ 505 import os 506 if typestring is None: 507 fn, typestring = os.path.splitext(filename) 508 f = open(filename,'rb') 509 try: 510 opq=cls(_dat.Data(_N.fromstring(f.read(),dtype="uint8")),typestring) 511 finally: 512 f.close() 513 return opq
514 _dsc.addDtypeToClass(Opaque)
515 516 -class WithUnits(Compound):
517 """Specifies a units for any kind of data. 518 """ 519 fields=('data','units') 520 dtype_id=211
521 _dsc.addDtypeToClass(WithUnits)
522 523 -class WithError(Compound):
524 """Specifies error information for any kind of data. 525 """ 526 fields=('data','error') 527 dtype_id=213
528 _dsc.addDtypeToClass(WithError)
529 530 -class Parameter(Compound):
531 """Specifies a help text and validation information for any kind of data. 532 """ 533 fields=('data','help','validation') 534 dtype_id=194
535 _dsc.addDtypeToClass(Parameter)
536 537 -class dPLACEHOLDER(Function):
538 max_args=0 539 opcode=0
540
541 -class dA0(Function):
542 max_args=0 543 opcode=1
544
545 -class dALPHA(Function):
546 max_args=0 547 opcode=2
548
549 -class dAMU(Function):
550 max_args=0 551 opcode=3
552
553 -class dC(Function):
554 max_args=0 555 opcode=4
556
557 -class dCAL(Function):
558 max_args=0 559 opcode=5
560
561 -class dDEGREE(Function):
562 max_args=0 563 opcode=6
564
565 -class dEV(Function):
566 max_args=0 567 opcode=7
568
569 -class dFALSE(Function):
570 max_args=0 571 opcode=8
572
573 -class dFARADAY(Function):
574 max_args=0 575 opcode=9
576
577 -class dG(Function):
578 max_args=0 579 opcode=10
580
581 -class dGAS(Function):
582 max_args=0 583 opcode=11
584
585 -class dH(Function):
586 max_args=0 587 opcode=12
588
589 -class dHBAR(Function):
590 min_args=0 591 max_args=0 592 opcode=13
593
594 -class dI(Function):
595 max_args=0 596 opcode=14
597
598 -class dK(Function):
599 max_args=0 600 opcode=15
601
602 -class dME(Function):
603 max_args=0 604 opcode=16
605
606 -class dMISSING(Function):
607 max_args=0 608 opcode=17
609
610 -class dMP(Function):
611 max_args=0 612 opcode=18
613
614 -class dN0(Function):
615 max_args=0 616 opcode=19
617
618 -class dNA(Function):
619 max_args=0 620 opcode=20
621
622 -class dP0(Function):
623 max_args=0 624 opcode=21
625
626 -class dPI(Function):
627 max_args=0 628 opcode=22
629
630 -class dQE(Function):
631 max_args=0 632 opcode=23
633
634 -class dRE(Function):
635 max_args=0 636 opcode=24
637
638 -class dROPRAND(Function):
639 max_args=0 640 opcode=25
641
642 -class dRYDBERG(Function):
643 max_args=0 644 opcode=26
645
646 -class dT0(Function):
647 max_args=0 648 opcode=27
649
650 -class dTORR(Function):
651 max_args=0 652 opcode=28
653
654 -class dTRUE(Function):
655 max_args=0 656 opcode=29
657
658 -class dVALUE(Function):
659 min_args=0 660 max_args=0 661 opcode=30
662
663 -class ABORT(Function):
664 min_args=0 665 max_args=255 666 opcode=31
667
668 -class ABS(Function):
669 min_args=1 670 max_args=1 671 opcode=32
672
673 -class ABS1(Function):
674 min_args=1 675 max_args=1 676 opcode=33
677
678 -class ABSSQ(Function):
679 min_args=1 680 max_args=1 681 opcode=34
682
683 -class ACHAR(Function):
684 min_args=1 685 max_args=2 686 opcode=35
687
688 -class ACOS(Function):
689 min_args=1 690 max_args=1 691 opcode=36
692
693 -class ACOSD(Function):
694 min_args=1 695 max_args=1 696 opcode=37
697
698 -class ADD(Function):
699 min_args=2 700 max_args=2 701 opcode=38
702
703 -class ADJUSTL(Function):
704 min_args=1 705 max_args=1 706 opcode=39
707
708 -class ADJUSTR(Function):
709 min_args=1 710 max_args=1 711 opcode=40
712
713 -class AIMAG(Function):
714 min_args=1 715 max_args=1 716 opcode=41
717
718 -class AINT(Function):
719 min_args=1 720 max_args=2 721 opcode=42
722
723 -class ALL(Function):
724 min_args=1 725 max_args=2 726 opcode=43
727
728 -class ALLOCATED(Function):
729 min_args=1 730 max_args=1 731 opcode=44
732
733 -class AND(Function):
734 min_args=2 735 max_args=2 736 opcode=45
737
738 -class AND_NOT(Function):
739 min_args=2 740 max_args=2 741 opcode=46
742
743 -class ANINT(Function):
744 min_args=1 745 max_args=2 746 opcode=47
747
748 -class ANY(Function):
749 min_args=1 750 max_args=2 751 opcode=48
752
753 -class ARG(Function):
754 min_args=1 755 max_args=1 756 opcode=49
757
758 -class ARGD(Function):
759 min_args=1 760 max_args=1 761 opcode=50
762
763 -class ARG_OF(Function):
764 min_args=1 765 max_args=2 766 opcode=51
767
768 -class ARRAY(Function):
769 min_args=0 770 max_args=2 771 opcode=52
772
773 -class ASIN(Function):
774 min_args=1 775 max_args=1 776 opcode=53
777
778 -class ASIND(Function):
779 min_args=1 780 max_args=1 781 opcode=54
782
783 -class AS_IS(Function):
784 min_args=1 785 max_args=1 786 opcode=55
787
788 -class ATAN(Function):
789 min_args=1 790 max_args=1 791 opcode=56
792
793 -class ATAN2(Function):
794 min_args=2 795 max_args=2 796 opcode=57
797
798 -class ATAN2D(Function):
799 min_args=2 800 max_args=2 801 opcode=58
802
803 -class ATAND(Function):
804 min_args=1 805 max_args=1 806 opcode=59
807
808 -class ATANH(Function):
809 min_args=1 810 max_args=1 811 opcode=60
812
813 -class AXIS_OF(Function):
814 min_args=1 815 max_args=1 816 opcode=61
817
818 -class BACKSPACE(Function):
819 min_args=1 820 max_args=1 821 opcode=62
822
823 -class IBCLR(Function):
824 min_args=2 825 max_args=2 826 opcode=63
827
828 -class BEGIN_OF(Function):
829 min_args=1 830 max_args=2 831 opcode=64
832
833 -class IBITS(Function):
834 min_args=3 835 max_args=3 836 opcode=65
837
838 -class BREAK(Function):
839 min_args=0 840 max_args=0 841 opcode=66
842
843 -class BSEARCH(Function):
844 min_args=2 845 max_args=4 846 opcode=67
847
848 -class IBSET(Function):
849 min_args=2 850 max_args=2 851 opcode=68
852
853 -class BTEST(Function):
854 min_args=2 855 max_args=2 856 opcode=69
857
858 -class BUILD_ACTION(Function):
859 min_args=2 860 max_args=5 861 opcode=70
862
863 -class BUILD_CONDITION(Function):
864 min_args=2 865 max_args=2 866 opcode=71
867
868 -class BUILD_CONGLOM(Function):
869 min_args=4 870 max_args=4 871 opcode=72
872
873 -class BUILD_DEPENDENCY(Function):
874 min_args=3 875 max_args=3 876 opcode=73
877
878 -class BUILD_DIM(Function):
879 min_args=2 880 max_args=2 881 opcode=74
882
883 -class BUILD_DISPATCH(Function):
884 min_args=5 885 max_args=5 886 opcode=75
887
888 -class BUILD_EVENT(Function):
889 min_args=1 890 max_args=1 891 opcode=76
892
893 -class BUILD_FUNCTION(Function):
894 min_args=1 895 max_args=254 896 opcode=77
897
898 -class BUILD_METHOD(Function):
899 min_args=3 900 max_args=254 901 opcode=78
902
903 -class BUILD_PARAM(Function):
904 min_args=3 905 max_args=3 906 opcode=79
907
908 -class BUILD_PATH(Function):
909 min_args=1 910 max_args=1 911 opcode=80
912
913 -class BUILD_PROCEDURE(Function):
914 min_args=3 915 max_args=254 916 opcode=81
917
918 -class BUILD_PROGRAM(Function):
919 min_args=2 920 max_args=2 921 opcode=82
922
923 -class BUILD_RANGE(Function):
924 min_args=2 925 max_args=3 926 opcode=83
927 - def __init__(self,*args):
928 if len(args)==1 and args[0] is self: return 929 if len(args)==1 and isinstance(args,(slice,)): 930 super(BUILD_RANGE,self).__init__(args[0].start,args[0].stop,args[0].step) 931 else: 932 super(BUILD_RANGE,self).__init__(*args)
933
934 -class BUILD_ROUTINE(Function):
935 min_args=3 936 max_args=254 937 opcode=84
938
939 -class BUILD_SIGNAL(Function):
940 min_args=2 941 max_args=10 942 opcode=85
943
944 -class BUILD_SLOPE(Function):
945 min_args=1 946 max_args=254 947 opcode=86
948
949 -class BUILD_WINDOW(Function):
950 min_args=3 951 max_args=3 952 opcode=87
953
954 -class BUILD_WITH_UNITS(Function):
955 min_args=2 956 max_args=2 957 opcode=88
958
959 -class BUILTIN_OPCODE(Function):
960 min_args=1 961 max_args=1 962 opcode=89
963
964 -class BYTE(Function):
965 min_args=1 966 max_args=1 967 opcode=90
968
969 -class BYTE_UNSIGNED(Function):
970 min_args=1 971 max_args=1 972 opcode=91
973
974 -class CASE(Function):
975 min_args=2 976 max_args=254 977 opcode=92
978
979 -class CEILING(Function):
980 min_args=1 981 max_args=1 982 opcode=93
983
984 -class CHAR(Function):
985 min_args=1 986 max_args=2 987 opcode=94
988
989 -class CLASS(Function):
990 min_args=1 991 max_args=1 992 opcode=95
993
994 -class FCLOSE(Function):
995 min_args=1 996 max_args=1 997 opcode=96
998
999 -class CMPLX(Function):
1000 min_args=1 1001 max_args=3 1002 opcode=97
1003
1004 -class COMMA(Function):
1005 min_args=2 1006 max_args=254 1007 opcode=98
1008
1009 -class COMPILE(Function):
1010 min_args=1 1011 max_args=254 1012 opcode=99
1013
1014 -class COMPLETION_OF(Function):
1015 min_args=1 1016 max_args=1 1017 opcode=100
1018
1019 -class CONCAT(Function):
1020 min_args=2 1021 max_args=254 1022 opcode=101
1023
1024 -class CONDITIONAL(Function):
1025 min_args=3 1026 max_args=3 1027 opcode=102
1028
1029 -class CONJG(Function):
1030 min_args=1 1031 max_args=1 1032 opcode=103
1033
1034 -class CONTINUE(Function):
1035 min_args=0 1036 max_args=0 1037 opcode=104
1038
1039 -class CONVOLVE(Function):
1040 min_args=2 1041 max_args=2 1042 opcode=105
1043
1044 -class COS(Function):
1045 min_args=1 1046 max_args=1 1047 opcode=106
1048
1049 -class COSD(Function):
1050 min_args=1 1051 max_args=1 1052 opcode=107
1053
1054 -class COSH(Function):
1055 min_args=1 1056 max_args=1 1057 opcode=108
1058
1059 -class COUNT(Function):
1060 min_args=1 1061 max_args=2 1062 opcode=109
1063
1064 -class CSHIFT(Function):
1065 min_args=2 1066 max_args=3 1067 opcode=110
1068
1069 -class CVT(Function):
1070 min_args=2 1071 max_args=2 1072 opcode=111
1073
1074 -class DATA(Function):
1075 min_args=1 1076 max_args=1 1077 opcode=112
1078
1079 -class DATE_AND_TIME(Function):
1080 min_args=0 1081 max_args=1 1082 opcode=113
1083
1084 -class DATE_TIME(Function):
1085 min_args=0 1086 max_args=1 1087 opcode=114
1088
1089 -class DBLE(Function):
1090 min_args=1 1091 max_args=1 1092 opcode=115
1093
1094 -class DEALLOCATE(Function):
1095 min_args=0 1096 max_args=254 1097 opcode=116
1098
1099 -class DEBUG(Function):
1100 min_args=0 1101 max_args=1 1102 opcode=117
1103
1104 -class DECODE(Function):
1105 min_args=1 1106 max_args=2 1107 opcode=118
1108
1109 -class DECOMPILE(Function):
1110 min_args=1 1111 max_args=2 1112 opcode=119
1113
1114 -class DECOMPRESS(Function):
1115 min_args=4 1116 max_args=4 1117 opcode=120
1118
1119 -class DEFAULT(Function):
1120 min_args=1 1121 max_args=254 1122 opcode=121
1123
1124 -class DERIVATIVE(Function):
1125 min_args=2 1126 max_args=3 1127 opcode=122
1128
1129 -class DESCR(Function):
1130 min_args=1 1131 max_args=1 1132 opcode=123
1133
1134 -class DIAGONAL(Function):
1135 min_args=1 1136 max_args=2 1137 opcode=124
1138
1139 -class DIGITS(Function):
1140 min_args=1 1141 max_args=1 1142 opcode=125
1143
1144 -class DIM(Function):
1145 min_args=2 1146 max_args=2 1147 opcode=126
1148
1149 -class DIM_OF(Function):
1150 min_args=1 1151 max_args=2 1152 opcode=127
1153
1154 -class DISPATCH_OF(Function):
1155 min_args=1 1156 max_args=1 1157 opcode=128
1158
1159 -class DIVIDE(Function):
1160 min_args=2 1161 max_args=2 1162 opcode=129
1163
1164 -class LBOUND(Function):
1165 min_args=1 1166 max_args=2 1167 opcode=130
1168
1169 -class DO(Function):
1170 min_args=2 1171 max_args=254 1172 opcode=131
1173
1174 -class DOT_PRODUCT(Function):
1175 min_args=2 1176 max_args=2 1177 opcode=132
1178
1179 -class DPROD(Function):
1180 min_args=2 1181 max_args=2 1182 opcode=133
1183
1184 -class DSCPTR(Function):
1185 min_args=1 1186 max_args=2 1187 opcode=134
1188
1189 -class SHAPE(Function):
1190 min_args=1 1191 max_args=2 1192 opcode=135
1193
1194 -class SIZE(Function):
1195 min_args=1 1196 max_args=2 1197 opcode=136
1198
1199 -class KIND(Function):
1200 min_args=1 1201 max_args=1 1202 opcode=137
1203
1204 -class UBOUND(Function):
1205 min_args=1 1206 max_args=2 1207 opcode=138
1208
1209 -class D_COMPLEX(Function):
1210 min_args=1 1211 max_args=2 1212 opcode=139
1213
1214 -class D_FLOAT(Function):
1215 min_args=1 1216 max_args=1 1217 opcode=140
1218
1219 -class RANGE(Function):
1220 min_args=1 1221 max_args=1 1222 opcode=141
1223
1224 -class PRECISION(Function):
1225 min_args=1 1226 max_args=1 1227 opcode=142
1228
1229 -class ELBOUND(Function):
1230 min_args=1 1231 max_args=2 1232 opcode=143
1233
1234 -class ELSE(Function):
1235 min_args=0 1236 max_args=0 1237 opcode=144
1238
1239 -class ELSEWHERE(Function):
1240 min_args=0 1241 max_args=0 1242 opcode=145
1243
1244 -class ENCODE(Function):
1245 min_args=1 1246 max_args=254 1247 opcode=146
1248
1249 -class ENDFILE(Function):
1250 min_args=1 1251 max_args=1 1252 opcode=147
1253
1254 -class END_OF(Function):
1255 min_args=1 1256 max_args=2 1257 opcode=148
1258
1259 -class EOSHIFT(Function):
1260 min_args=3 1261 max_args=4 1262 opcode=149
1263
1264 -class EPSILON(Function):
1265 min_args=1 1266 max_args=1 1267 opcode=150
1268
1269 -class EQ(Function):
1270 min_args=2 1271 max_args=2 1272 opcode=151
1273
1274 -class EQUALS(Function):
1275 min_args=2 1276 max_args=2 1277 opcode=152
1278
1279 -class EQUALS_FIRST(Function):
1280 min_args=1 1281 max_args=1 1282 opcode=153
1283
1284 -class EQV(Function):
1285 min_args=2 1286 max_args=2 1287 opcode=154
1288
1289 -class ESHAPE(Function):
1290 min_args=1 1291 max_args=2 1292 opcode=155
1293
1294 -class ESIZE(Function):
1295 min_args=1 1296 max_args=2 1297 opcode=156
1298
1299 -class EUBOUND(Function):
1300 min_args=1 1301 max_args=2 1302 opcode=157
1303
1304 -class EVALUATE(Function):
1305 min_args=1 1306 max_args=1 1307 opcode=158
1308
1309 -class EXECUTE(Function):
1310 min_args=1 1311 max_args=254 1312 opcode=159
1313
1314 -class EXP(Function):
1315 min_args=1 1316 max_args=1 1317 opcode=160
1318
1319 -class EXPONENT(Function):
1320 min_args=1 1321 max_args=1 1322 opcode=161
1323
1324 -class EXT_FUNCTION(Function):
1325 min_args=2 1326 max_args=254 1327 opcode=162
1328
1329 -class FFT(Function):
1330 min_args=2 1331 max_args=2 1332 opcode=163
1333
1334 -class FIRSTLOC(Function):
1335 min_args=1 1336 max_args=2 1337 opcode=164
1338
1339 -class FIT(Function):
1340 min_args=2 1341 max_args=2 1342 opcode=165
1343
1344 -class FIX_ROPRAND(Function):
1345 min_args=2 1346 max_args=2 1347 opcode=166
1348
1349 -class FLOAT(Function):
1350 min_args=1 1351 max_args=2 1352 opcode=167
1353
1354 -class FLOOR(Function):
1355 min_args=1 1356 max_args=1 1357 opcode=168
1358
1359 -class FOR(Function):
1360 min_args=4 1361 max_args=254 1362 opcode=169
1363
1364 -class FRACTION(Function):
1365 min_args=1 1366 max_args=1 1367 opcode=170
1368
1369 -class FUN(Function):
1370 min_args=2 1371 max_args=254 1372 opcode=171
1373
1374 -class F_COMPLEX(Function):
1375 min_args=1 1376 max_args=2 1377 opcode=172
1378
1379 -class F_FLOAT(Function):
1380 min_args=1 1381 max_args=1 1382 opcode=173
1383
1384 -class GE(Function):
1385 min_args=2 1386 max_args=2 1387 opcode=174
1388
1389 -class GETNCI(Function):
1390 min_args=2 1391 max_args=3 1392 opcode=175
1393
1394 -class GOTO(Function):
1395 min_args=1 1396 max_args=1 1397 opcode=176
1398
1399 -class GT(Function):
1400 min_args=2 1401 max_args=2 1402 opcode=177
1403
1404 -class G_COMPLEX(Function):
1405 min_args=1 1406 max_args=2 1407 opcode=178
1408
1409 -class G_FLOAT(Function):
1410 min_args=1 1411 max_args=1 1412 opcode=179
1413
1414 -class HELP_OF(Function):
1415 min_args=1 1416 max_args=1 1417 opcode=180
1418
1419 -class HUGE(Function):
1420 min_args=1 1421 max_args=1 1422 opcode=181
1423
1424 -class H_COMPLEX(Function):
1425 min_args=1 1426 max_args=2 1427 opcode=182
1428
1429 -class H_FLOAT(Function):
1430 min_args=1 1431 max_args=1 1432 opcode=183
1433
1434 -class IACHAR(Function):
1435 min_args=1 1436 max_args=1 1437 opcode=184
1438
1439 -class IAND(Function):
1440 min_args=2 1441 max_args=2 1442 opcode=185
1443
1444 -class IAND_NOT(Function):
1445 min_args=2 1446 max_args=2 1447 opcode=186
1448
1449 -class ICHAR(Function):
1450 min_args=1 1451 max_args=1 1452 opcode=187
1453
1454 -class IDENT_OF(Function):
1455 min_args=1 1456 max_args=1 1457 opcode=188
1458
1459 -class IF(Function):
1460 min_args=2 1461 max_args=3 1462 opcode=189
1463
1464 -class IF_ERROR(Function):
1465 min_args=1 1466 max_args=254 1467 opcode=190
1468
1469 -class IMAGE_OF(Function):
1470 min_args=1 1471 max_args=1 1472 opcode=191
1473
1474 -class IN(Function):
1475 min_args=1 1476 max_args=1 1477 opcode=192
1478
1479 -class INAND(Function):
1480 min_args=2 1481 max_args=2 1482 opcode=193
1483
1484 -class INAND_NOT(Function):
1485 min_args=2 1486 max_args=2 1487 opcode=194
1488
1489 -class INDEX(Function):
1490 min_args=2 1491 max_args=3 1492 opcode=195
1493
1494 -class INOR(Function):
1495 min_args=2 1496 max_args=2 1497 opcode=196
1498
1499 -class INOR_NOT(Function):
1500 min_args=2 1501 max_args=2 1502 opcode=197
1503
1504 -class INOT(Function):
1505 min_args=1 1506 max_args=1 1507 opcode=198
1508
1509 -class INOUT(Function):
1510 min_args=1 1511 max_args=1 1512 opcode=199
1513
1514 -class INQUIRE(Function):
1515 min_args=2 1516 max_args=2 1517 opcode=200
1518
1519 -class INT(Function):
1520 min_args=1 1521 max_args=2 1522 opcode=201
1523
1524 -class INTEGRAL(Function):
1525 min_args=2 1526 max_args=3 1527 opcode=202
1528
1529 -class INTERPOL(Function):
1530 min_args=2 1531 max_args=3 1532 opcode=203
1533
1534 -class INTERSECT(Function):
1535 min_args=0 1536 max_args=254 1537 opcode=204
1538
1539 -class INT_UNSIGNED(Function):
1540 min_args=1 1541 max_args=1 1542 opcode=205
1543
1544 -class INVERSE(Function):
1545 min_args=1 1546 max_args=1 1547 opcode=206
1548
1549 -class IOR(Function):
1550 min_args=2 1551 max_args=2 1552 opcode=207
1553
1554 -class IOR_NOT(Function):
1555 min_args=2 1556 max_args=2 1557 opcode=208
1558
1559 -class IS_IN(Function):
1560 min_args=2 1561 max_args=3 1562 opcode=209
1563
1564 -class IEOR(Function):
1565 min_args=2 1566 max_args=2 1567 opcode=210
1568
1569 -class IEOR_NOT(Function):
1570 min_args=2 1571 max_args=2 1572 opcode=211
1573
1574 -class LABEL(Function):
1575 min_args=2 1576 max_args=254 1577 opcode=212
1578
1579 -class LAMINATE(Function):
1580 min_args=2 1581 max_args=254 1582 opcode=213
1583
1584 -class LANGUAGE_OF(Function):
1585 min_args=1 1586 max_args=1 1587 opcode=214
1588
1589 -class LASTLOC(Function):
1590 min_args=1 1591 max_args=2 1592 opcode=215
1593
1594 -class LE(Function):
1595 min_args=2 1596 max_args=2 1597 opcode=216
1598
1599 -class LEN(Function):
1600 min_args=1 1601 max_args=1 1602 opcode=217
1603
1604 -class LEN_TRIM(Function):
1605 min_args=1 1606 max_args=1 1607 opcode=218
1608
1609 -class LGE(Function):
1610 min_args=2 1611 max_args=2 1612 opcode=219
1613
1614 -class LGT(Function):
1615 min_args=2 1616 max_args=2 1617 opcode=220
1618
1619 -class LLE(Function):
1620 min_args=2 1621 max_args=2 1622 opcode=221
1623
1624 -class LLT(Function):
1625 min_args=2 1626 max_args=2 1627 opcode=222
1628
1629 -class LOG(Function):
1630 min_args=1 1631 max_args=1 1632 opcode=223
1633
1634 -class LOG10(Function):
1635 min_args=1 1636 max_args=1 1637 opcode=224
1638
1639 -class LOG2(Function):
1640 min_args=1 1641 max_args=1 1642 opcode=225
1643
1644 -class LOGICAL(Function):
1645 min_args=1 1646 max_args=2 1647 opcode=226
1648
1649 -class LONG(Function):
1650 min_args=1 1651 max_args=1 1652 opcode=227
1653
1654 -class LONG_UNSIGNED(Function):
1655 min_args=1 1656 max_args=1 1657 opcode=228
1658
1659 -class LT(Function):
1660 min_args=2 1661 max_args=2 1662 opcode=229
1663
1664 -class MATMUL(Function):
1665 min_args=2 1666 max_args=2 1667 opcode=230
1668
1669 -class MAT_ROT(Function):
1670 min_args=2 1671 max_args=5 1672 opcode=231
1673
1674 -class MAT_ROT_INT(Function):
1675 min_args=2 1676 max_args=5 1677 opcode=232
1678
1679 -class MAX(Function):
1680 min_args=2 1681 max_args=254 1682 opcode=233
1683
1684 -class MAXEXPONENT(Function):
1685 min_args=1 1686 max_args=1 1687 opcode=234
1688
1689 -class MAXLOC(Function):
1690 min_args=1 1691 max_args=3 1692 opcode=235
1693
1694 -class MAXVAL(Function):
1695 min_args=1 1696 max_args=3 1697 opcode=236
1698
1699 -class MEAN(Function):
1700 min_args=1 1701 max_args=3 1702 opcode=237
1703
1704 -class MEDIAN(Function):
1705 min_args=2 1706 max_args=2 1707 opcode=238
1708
1709 -class MERGE(Function):
1710 min_args=3 1711 max_args=3 1712 opcode=239
1713
1714 -class METHOD_OF(Function):
1715 min_args=1 1716 max_args=1 1717 opcode=240
1718
1719 -class MIN(Function):
1720 min_args=2 1721 max_args=254 1722 opcode=241
1723
1724 -class MINEXPONENT(Function):
1725 min_args=1 1726 max_args=1 1727 opcode=242
1728
1729 -class MINLOC(Function):
1730 min_args=1 1731 max_args=3 1732 opcode=243
1733
1734 -class MINVAL(Function):
1735 min_args=1 1736 max_args=3 1737 opcode=244
1738
1739 -class MOD(Function):
1740 min_args=2 1741 max_args=2 1742 opcode=245
1743
1744 -class MODEL_OF(Function):
1745 min_args=1 1746 max_args=1 1747 opcode=246
1748
1749 -class MULTIPLY(Function):
1750 min_args=2 1751 max_args=2 1752 opcode=247
1753
1754 -class NAME_OF(Function):
1755 min_args=1 1756 max_args=1 1757 opcode=248
1758
1759 -class NAND(Function):
1760 min_args=2 1761 max_args=2 1762 opcode=249
1763
1764 -class NAND_NOT(Function):
1765 min_args=2 1766 max_args=2 1767 opcode=250
1768
1769 -class NDESC(Function):
1770 min_args=1 1771 max_args=1 1772 opcode=251
1773
1774 -class NE(Function):
1775 min_args=2 1776 max_args=2 1777 opcode=252
1778
1779 -class NEAREST(Function):
1780 min_args=2 1781 max_args=2 1782 opcode=253
1783
1784 -class NEQV(Function):
1785 min_args=2 1786 max_args=2 1787 opcode=254
1788
1789 -class NINT(Function):
1790 min_args=1 1791 max_args=2 1792 opcode=255
1793
1794 -class NOR(Function):
1795 min_args=2 1796 max_args=2 1797 opcode=256
1798
1799 -class NOR_NOT(Function):
1800 min_args=2 1801 max_args=2 1802 opcode=257
1803
1804 -class NOT(Function):
1805 min_args=1 1806 max_args=1 1807 opcode=258
1808
1809 -class OBJECT_OF(Function):
1810 min_args=1 1811 max_args=1 1812 opcode=259
1813
1814 -class OCTAWORD(Function):
1815 min_args=1 1816 max_args=1 1817 opcode=260
1818
1819 -class OCTAWORD_UNSIGNED(Function):
1820 min_args=1 1821 max_args=1 1822 opcode=261
1823
1824 -class ON_ERROR(Function):
1825 min_args=1 1826 max_args=1 1827 opcode=262
1828
1829 -class OPCODE_BUILTIN(Function):
1830 min_args=1 1831 max_args=1 1832 opcode=263
1833
1834 -class OPCODE_STRING(Function):
1835 min_args=1 1836 max_args=1 1837 opcode=264
1838
1839 -class FOPEN(Function):
1840 min_args=2 1841 max_args=254 1842 opcode=265
1843
1844 -class OPTIONAL(Function):
1845 min_args=1 1846 max_args=1 1847 opcode=266
1848
1849 -class OR(Function):
1850 min_args=2 1851 max_args=2 1852 opcode=267
1853
1854 -class OR_NOT(Function):
1855 min_args=2 1856 max_args=2 1857 opcode=268
1858
1859 -class OUT(Function):
1860 min_args=1 1861 max_args=1 1862 opcode=269
1863
1864 -class PACK(Function):
1865 min_args=2 1866 max_args=3 1867 opcode=270
1868
1869 -class PHASE_OF(Function):
1870 min_args=1 1871 max_args=1 1872 opcode=271
1873
1874 -class POST_DEC(Function):
1875 min_args=1 1876 max_args=1 1877 opcode=272
1878
1879 -class POST_INC(Function):
1880 min_args=1 1881 max_args=1 1882 opcode=273
1883
1884 -class POWER(Function):
1885 min_args=2 1886 max_args=2 1887 opcode=274
1888
1889 -class PRESENT(Function):
1890 min_args=1 1891 max_args=1 1892 opcode=275
1893
1894 -class PRE_DEC(Function):
1895 min_args=1 1896 max_args=1 1897 opcode=276
1898
1899 -class PRE_INC(Function):
1900 min_args=1 1901 max_args=1 1902 opcode=277
1903
1904 -class PRIVATE(Function):
1905 min_args=1 1906 max_args=1 1907 opcode=278
1908 - def assign(self,value):
1909 EQUALS(self,value).evaluate() 1910 return self
1911
1912 -class PROCEDURE_OF(Function):
1913 min_args=1 1914 max_args=1 1915 opcode=279
1916
1917 -class PRODUCT(Function):
1918 min_args=1 1919 max_args=3 1920 opcode=280
1921
1922 -class PROGRAM_OF(Function):
1923 min_args=1 1924 max_args=1 1925 opcode=281
1926
1927 -class PROJECT(Function):
1928 min_args=3 1929 max_args=4 1930 opcode=282
1931
1932 -class PROMOTE(Function):
1933 min_args=2 1934 max_args=2 1935 opcode=283
1936
1937 -class PUBLIC(Function):
1938 min_args=1 1939 max_args=1 1940 opcode=284
1941 - def assign(self,value):
1942 EQUALS(self,value).evaluate() 1943 return self
1944
1945 -class QUADWORD(Function):
1946 min_args=1 1947 max_args=1 1948 opcode=285
1949
1950 -class QUADWORD_UNSIGNED(Function):
1951 min_args=1 1952 max_args=1 1953 opcode=286
1954
1955 -class QUALIFIERS_OF(Function):
1956 min_args=1 1957 max_args=1 1958 opcode=287
1959
1960 -class RADIX(Function):
1961 min_args=1 1962 max_args=1 1963 opcode=288
1964
1965 -class RAMP(Function):
1966 min_args=0 1967 max_args=2 1968 opcode=289
1969
1970 -class RANDOM(Function):
1971 min_args=0 1972 max_args=2 1973 opcode=290
1974
1975 -class RANDOM_SEED(Function):
1976 min_args=0 1977 max_args=1 1978 opcode=291
1979
1980 -class DTYPE_RANGE(Function):
1981 min_args=2 1982 max_args=3 1983 opcode=292
1984
1985 -class RANK(Function):
1986 min_args=1 1987 max_args=1 1988 opcode=293
1989
1990 -class RAW_OF(Function):
1991 min_args=1 1992 max_args=1 1993 opcode=294
1994
1995 -class READ(Function):
1996 min_args=1 1997 max_args=1 1998 opcode=295
1999
2000 -class REAL(Function):
2001 min_args=1 2002 max_args=2 2003 opcode=296
2004
2005 -class REBIN(Function):
2006 min_args=2 2007 max_args=4 2008 opcode=297
2009
2010 -class REF(Function):
2011 min_args=1 2012 max_args=1 2013 opcode=298
2014
2015 -class REPEAT(Function):
2016 min_args=2 2017 max_args=2 2018 opcode=299
2019
2020 -class REPLICATE(Function):
2021 min_args=3 2022 max_args=3 2023 opcode=300
2024
2025 -class RESHAPE(Function):
2026 min_args=2 2027 max_args=4 2028 opcode=301
2029
2030 -class RETURN(Function):
2031 min_args=0 2032 max_args=1 2033 opcode=302
2034
2035 -class REWIND(Function):
2036 min_args=1 2037 max_args=1 2038 opcode=303
2039
2040 -class RMS(Function):
2041 min_args=1 2042 max_args=3 2043 opcode=304
2044
2045 -class ROUTINE_OF(Function):
2046 min_args=1 2047 max_args=1 2048 opcode=305
2049
2050 -class RRSPACING(Function):
2051 min_args=1 2052 max_args=1 2053 opcode=306
2054
2055 -class SCALE(Function):
2056 min_args=2 2057 max_args=2 2058 opcode=307
2059
2060 -class SCAN(Function):
2061 min_args=2 2062 max_args=3 2063 opcode=308
2064
2065 -class FSEEK(Function):
2066 min_args=1 2067 max_args=3 2068 opcode=309
2069
2070 -class SET_EXPONENT(Function):
2071 min_args=2 2072 max_args=2 2073 opcode=310
2074
2075 -class SET_RANGE(Function):
2076 min_args=2 2077 max_args=9 2078 opcode=311
2079
2080 -class ISHFT(Function):
2081 min_args=2 2082 max_args=2 2083 opcode=312
2084
2085 -class ISHFTC(Function):
2086 min_args=3 2087 max_args=3 2088 opcode=313
2089
2090 -class SHIFT_LEFT(Function):
2091 min_args=2 2092 max_args=2 2093 opcode=314
2094
2095 -class SHIFT_RIGHT(Function):
2096 min_args=2 2097 max_args=2 2098 opcode=315
2099
2100 -class SIGN(Function):
2101 min_args=2 2102 max_args=2 2103 opcode=316
2104
2105 -class SIGNED(Function):
2106 min_args=1 2107 max_args=1 2108 opcode=317
2109
2110 -class SIN(Function):
2111 min_args=1 2112 max_args=1 2113 opcode=318
2114
2115 -class SIND(Function):
2116 min_args=1 2117 max_args=1 2118 opcode=319
2119
2120 -class SINH(Function):
2121 min_args=1 2122 max_args=1 2123 opcode=320
2124
2125 -class SIZEOF(Function):
2126 min_args=1 2127 max_args=1 2128 opcode=321
2129
2130 -class SLOPE_OF(Function):
2131 min_args=1 2132 max_args=2 2133 opcode=322
2134
2135 -class SMOOTH(Function):
2136 min_args=2 2137 max_args=2 2138 opcode=323
2139
2140 -class SOLVE(Function):
2141 min_args=2 2142 max_args=2 2143 opcode=324
2144
2145 -class SORTVAL(Function):
2146 min_args=1 2147 max_args=2 2148 opcode=325
2149
2150 -class SPACING(Function):
2151 min_args=1 2152 max_args=1 2153 opcode=326
2154
2155 -class SPAWN(Function):
2156 min_args=0 2157 max_args=3 2158 opcode=327
2159
2160 -class SPREAD(Function):
2161 min_args=3 2162 max_args=3 2163 opcode=328
2164
2165 -class SQRT(Function):
2166 min_args=1 2167 max_args=1 2168 opcode=329
2169
2170 -class SQUARE(Function):
2171 min_args=1 2172 max_args=1 2173 opcode=330
2174
2175 -class STATEMENT(Function):
2176 min_args=0 2177 max_args=254 2178 opcode=331
2179
2180 -class STD_DEV(Function):
2181 min_args=1 2182 max_args=3 2183 opcode=332
2184
2185 -class STRING(Function):
2186 min_args=1 2187 max_args=254 2188 opcode=333
2189
2190 -class STRING_OPCODE(Function):
2191 min_args=1 2192 max_args=1 2193 opcode=334
2194
2195 -class SUBSCRIPT(Function):
2196 min_args=1 2197 max_args=9 2198 opcode=335
2199
2200 -class SUBTRACT(Function):
2201 min_args=2 2202 max_args=2 2203 opcode=336
2204
2205 -class SUM(Function):
2206 min_args=1 2207 max_args=3 2208 opcode=337
2209
2210 -class SWITCH(Function):
2211 min_args=2 2212 max_args=254 2213 opcode=338
2214
2215 -class SYSTEM_CLOCK(Function):
2216 min_args=1 2217 max_args=1 2218 opcode=339
2219
2220 -class TAN(Function):
2221 min_args=1 2222 max_args=1 2223 opcode=340
2224
2225 -class TAND(Function):
2226 min_args=1 2227 max_args=1 2228 opcode=341
2229
2230 -class TANH(Function):
2231 min_args=1 2232 max_args=1 2233 opcode=342
2234
2235 -class TASK_OF(Function):
2236 min_args=1 2237 max_args=1 2238 opcode=343
2239
2240 -class TEXT(Function):
2241 min_args=1 2242 max_args=2 2243 opcode=344
2244
2245 -class TIME_OUT_OF(Function):
2246 min_args=1 2247 max_args=1 2248 opcode=345
2249
2250 -class TINY(Function):
2251 min_args=1 2252 max_args=1 2253 opcode=346
2254
2255 -class TRANSFER(Function):
2256 min_args=2 2257 max_args=3 2258 opcode=347
2259
2260 -class TRANSPOSE_(Function):
2261 min_args=1 2262 max_args=1 2263 opcode=348
2264
2265 -class TRIM(Function):
2266 min_args=1 2267 max_args=1 2268 opcode=349
2269
2270 -class UNARY_MINUS(Function):
2271 min_args=1 2272 max_args=1 2273 opcode=350
2274
2275 -class UNARY_PLUS(Function):
2276 min_args=1 2277 max_args=1 2278 opcode=351
2279
2280 -class UNION(Function):
2281 min_args=0 2282 max_args=254 2283 opcode=352
2284
2285 -class UNITS(Function):
2286 min_args=1 2287 max_args=1 2288 opcode=353
2289
2290 -class UNITS_OF(Function):
2291 min_args=1 2292 max_args=1 2293 opcode=354
2294
2295 -class UNPACK(Function):
2296 min_args=3 2297 max_args=3 2298 opcode=355
2299
2300 -class UNSIGNED(Function):
2301 min_args=1 2302 max_args=1 2303 opcode=356
2304
2305 -class VAL(Function):
2306 min_args=1 2307 max_args=1 2308 opcode=357
2309
2310 -class VALIDATION_OF(Function):
2311 min_args=1 2312 max_args=1 2313 opcode=358
2314
2315 -class VALUE_OF(Function):
2316 min_args=1 2317 max_args=1 2318 opcode=359
2319
2320 -class VAR(Function):
2321 min_args=1 2322 max_args=2 2323 opcode=360
2324
2325 -class VECTOR(Function):
2326 min_args=0 2327 max_args=254 2328 opcode=361
2329
2330 -class VERIFY(Function):
2331 min_args=2 2332 max_args=3 2333 opcode=362
2334
2335 -class WAIT(Function):
2336 min_args=1 2337 max_args=1 2338 opcode=363
2339
2340 -class WHEN_OF(Function):
2341 min_args=1 2342 max_args=1 2343 opcode=364
2344
2345 -class WHERE(Function):
2346 min_args=2 2347 max_args=3 2348 opcode=365
2349
2350 -class WHILE(Function):
2351 min_args=2 2352 max_args=254 2353 opcode=366
2354
2355 -class WINDOW_OF(Function):
2356 min_args=1 2357 max_args=1 2358 opcode=367
2359
2360 -class WORD(Function):
2361 min_args=1 2362 max_args=1 2363 opcode=368
2364
2365 -class WORD_UNSIGNED(Function):
2366 min_args=1 2367 max_args=1 2368 opcode=369
2369
2370 -class WRITE(Function):
2371 min_args=1 2372 max_args=254 2373 opcode=370
2374
2375 -class ZERO(Function):
2376 min_args=0 2377 max_args=2 2378 opcode=371
2379
2380 -class d2PI(Function):
2381 min_args=0 2382 max_args=0 2383 opcode=372
2384
2385 -class dNARG(Function):
2386 min_args=0 2387 max_args=0 2388 opcode=373
2389
2390 -class ELEMENT(Function):
2391 min_args=3 2392 max_args=3 2393 opcode=374
2394
2395 -class RC_DROOP(Function):
2396 min_args=3 2397 max_args=3 2398 opcode=375
2399
2400 -class RESET_PRIVATE(Function):
2401 min_args=0 2402 max_args=0 2403 opcode=376
2404
2405 -class RESET_PUBLIC(Function):
2406 min_args=0 2407 max_args=0 2408 opcode=377
2409
2410 -class SHOW_PRIVATE(Function):
2411 min_args=0 2412 max_args=254 2413 opcode=378
2414
2415 -class SHOW_PUBLIC(Function):
2416 min_args=0 2417 max_args=254 2418 opcode=379
2419
2420 -class SHOW_VM(Function):
2421 min_args=0 2422 max_args=2 2423 opcode=380
2424
2425 -class TRANSLATE(Function):
2426 min_args=3 2427 max_args=3 2428 opcode=381
2429
2430 -class TRANSPOSE_MUL(Function):
2431 min_args=2 2432 max_args=2 2433 opcode=382
2434
2435 -class UPCASE(Function):
2436 min_args=1 2437 max_args=1 2438 opcode=383
2439
2440 -class USING(Function):
2441 min_args=2 2442 max_args=4 2443 opcode=384
2444
2445 -class VALIDATION(Function):
2446 min_args=1 2447 max_args=1 2448 opcode=385
2449
2450 -class dDEFAULT(Function):
2451 min_args=0 2452 max_args=0 2453 opcode=386
2454
2455 -class dEXPT(Function):
2456 min_args=0 2457 max_args=0 2458 opcode=387
2459
2460 -class dSHOT(Function):
2461 min_args=0 2462 max_args=0 2463 opcode=388
2464
2465 -class GETDBI(Function):
2466 min_args=1 2467 max_args=2 2468 opcode=389
2469
2470 -class CULL(Function):
2471 min_args=1 2472 max_args=4 2473 opcode=390
2474
2475 -class EXTEND(Function):
2476 min_args=1 2477 max_args=4 2478 opcode=391
2479
2480 -class I_TO_X(Function):
2481 min_args=1 2482 max_args=2 2483 opcode=392
2484
2485 -class X_TO_I(Function):
2486 min_args=1 2487 max_args=2 2488 opcode=393
2489
2490 -class MAP(Function):
2491 min_args=2 2492 max_args=2 2493 opcode=394
2494
2495 -class COMPILE_DEPENDENCY(Function):
2496 min_args=1 2497 max_args=1 2498 opcode=395
2499
2500 -class DECOMPILE_DEPENDENCY(Function):
2501 min_args=1 2502 max_args=1 2503 opcode=396
2504
2505 -class BUILD_CALL(Function):
2506 min_args=3 2507 max_args=254 2508 opcode=397
2509
2510 -class ERRORLOGS_OF(Function):
2511 min_args=1 2512 max_args=1 2513 opcode=398
2514
2515 -class PERFORMANCE_OF(Function):
2516 min_args=1 2517 max_args=1 2518 opcode=399
2519
2520 -class XD(Function):
2521 min_args=1 2522 max_args=1 2523 opcode=400
2524
2525 -class CONDITION_OF(Function):
2526 min_args=1 2527 max_args=1 2528 opcode=401
2529
2530 -class SORT(Function):
2531 min_args=1 2532 max_args=2 2533 opcode=402
2534
2535 -class dTHIS(Function):
2536 min_args=0 2537 max_args=0 2538 opcode=403
2539
2540 -class DATA_WITH_UNITS(Function):
2541 min_args=1 2542 max_args=1 2543 opcode=404
2544
2545 -class dATM(Function):
2546 min_args=0 2547 max_args=0 2548 opcode=405
2549
2550 -class dEPSILON0(Function):
2551 min_args=0 2552 max_args=0 2553 opcode=406
2554
2555 -class dGN(Function):
2556 min_args=0 2557 max_args=0 2558 opcode=407
2559
2560 -class dMU0(Function):
2561 min_args=0 2562 max_args=0 2563 opcode=408
2564
2565 -class EXTRACT(Function):
2566 min_args=3 2567 max_args=3 2568 opcode=409
2569
2570 -class FINITE(Function):
2571 min_args=1 2572 max_args=1 2573 opcode=410
2574
2575 -class BIT_SIZE(Function):
2576 min_args=1 2577 max_args=1 2578 opcode=411
2579
2580 -class MODULO(Function):
2581 min_args=2 2582 max_args=2 2583 opcode=412
2584
2585 -class SELECTED_INT_KIND(Function):
2586 min_args=1 2587 max_args=1 2588 opcode=413
2589
2590 -class SELECTED_REAL_KIND(Function):
2591 min_args=1 2592 max_args=2 2593 opcode=414
2594
2595 -class DSQL(Function):
2596 min_args=1 2597 max_args=254 2598 opcode=415
2599
2600 -class ISQL(Function):
2601 min_args=1 2602 max_args=1 2603 opcode=416
2604
2605 -class FTELL(Function):
2606 min_args=1 2607 max_args=1 2608 opcode=417
2609
2610 -class MAKE_ACTION(Function):
2611 min_args=2 2612 max_args=5 2613 opcode=418
2614
2615 -class MAKE_CONDITION(Function):
2616 min_args=2 2617 max_args=2 2618 opcode=419
2619
2620 -class MAKE_CONGLOM(Function):
2621 min_args=4 2622 max_args=4 2623 opcode=420
2624
2625 -class MAKE_DEPENDENCY(Function):
2626 min_args=3 2627 max_args=3 2628 opcode=421
2629
2630 -class MAKE_DIM(Function):
2631 min_args=2 2632 max_args=2 2633 opcode=422
2634
2635 -class MAKE_DISPATCH(Function):
2636 min_args=5 2637 max_args=5 2638 opcode=423
2639
2640 -class MAKE_FUNCTION(Function):
2641 min_args=1 2642 max_args=254 2643 opcode=424
2644
2645 -class MAKE_METHOD(Function):
2646 min_args=3 2647 max_args=254 2648 opcode=425
2649
2650 -class MAKE_PARAM(Function):
2651 min_args=3 2652 max_args=3 2653 opcode=426
2654
2655 -class MAKE_PROCEDURE(Function):
2656 min_args=3 2657 max_args=254 2658 opcode=427
2659
2660 -class MAKE_PROGRAM(Function):
2661 min_args=2 2662 max_args=2 2663 opcode=428
2664
2665 -class MAKE_RANGE(Function):
2666 min_args=2 2667 max_args=3 2668 opcode=429
2669
2670 -class MAKE_ROUTINE(Function):
2671 min_args=3 2672 max_args=254 2673 opcode=430
2674
2675 -class MAKE_SIGNAL(Function):
2676 min_args=2 2677 max_args=10 2678 opcode=431
2679
2680 -class MAKE_WINDOW(Function):
2681 min_args=3 2682 max_args=3 2683 opcode=432
2684
2685 -class MAKE_WITH_UNITS(Function):
2686 min_args=2 2687 max_args=2 2688 opcode=433
2689
2690 -class MAKE_CALL(Function):
2691 min_args=3 2692 max_args=254 2693 opcode=434
2694
2695 -class CLASS_OF(Function):
2696 min_args=1 2697 max_args=1 2698 opcode=435
2699
2700 -class DSCPTR_OF(Function):
2701 min_args=1 2702 max_args=2 2703 opcode=436
2704
2705 -class KIND_OF(Function):
2706 min_args=1 2707 max_args=1 2708 opcode=437
2709
2710 -class NDESC_OF(Function):
2711 min_args=1 2712 max_args=1 2713 opcode=438
2714
2715 -class ACCUMULATE(Function):
2716 min_args=1 2717 max_args=3 2718 opcode=439
2719
2720 -class MAKE_SLOPE(Function):
2721 min_args=1 2722 max_args=254 2723 opcode=440
2724
2725 -class REM(Function):
2726 min_args=1 2727 max_args=254 2728 opcode=441
2729
2730 -class COMPLETION_MESSAGE_OF(Function):
2731 min_args=1 2732 max_args=1 2733 opcode=442
2734
2735 -class INTERRUPT_OF(Function):
2736 min_args=1 2737 max_args=1 2738 opcode=443
2739
2740 -class dSHOTNAME(Function):
2741 min_args=0 2742 max_args=0 2743 opcode=444
2744
2745 -class BUILD_WITH_ERROR(Function):
2746 min_args=2 2747 max_args=2 2748 opcode=445
2749
2750 -class ERROR_OF(Function):
2751 min_args=1 2752 max_args=1 2753 opcode=446
2754
2755 -class MAKE_WITH_ERROR(Function):
2756 min_args=2 2757 max_args=2 2758 opcode=447
2759
2760 -class DO_TASK(Function):
2761 min_args=1 2762 max_args=1 2763 opcode=448
2764
2765 -class ISQL_SET(Function):
2766 min_args=1 2767 max_args=3 2768 opcode=449
2769
2770 -class FS_FLOAT(Function):
2771 min_args=1 2772 max_args=1 2773 opcode=450
2774
2775 -class FS_COMPLEX(Function):
2776 min_args=1 2777 max_args=2 2778 opcode=451
2779
2780 -class FT_FLOAT(Function):
2781 min_args=1 2782 max_args=1 2783 opcode=452
2784
2785 -class FT_COMPLEX(Function):
2786 min_args=1 2787 max_args=2 2788 opcode=453
2789
2790 -class BUILD_OPAQUE(Function):
2791 min_args=2 2792 max_args=2 2793 opcode=454
2794
2795 -class MAKE_OPAQUE(Function):
2796 min_args=2 2797 max_args=2 2798 opcode=455
2799 2800 from inspect import isclass as _isclass 2801 _c=None 2802 for _c in globals().values(): 2803 if _isclass(_c) and issubclass(_c,Function) and _c.__name__ != 'Function': 2804 Function.opcodeToClass[_c.opcode]=_c 2805